package com.neuedu.function;

public class FunctionExample {
	/**
	 * 递归：方法调用方法，（前面的方法与后面的方法是同一个方法）
	 *      自己调用自己
	 *      
	 *      N!这个方法
	 *      
	 *      5！=5*4*3*2*1
	 *        = 5*4！
	 *            =4*3！
	 *               =3*2！
	 *                  =2*1！
	 *                     =1;
	 *                     
	 *     特殊： 考虑n=0；
	 *      0！=1;
	 */
/**
 *    n!=fun(n)
 * @param n
 * @return
 */
	 public static int fun(int n) {
		 if(n==1||n==0) {
			 //当n==1||n==0  直接返回1；
			 return 1;
		 }else {
			 //当n不等于1时 ：n!=n*(n-1)!; (n-1)!=fun(n-1)
			 return n*fun(n-1);
		 }
	 }
	 
	 public static void main(String[] args) {
		 System.out.println(fun(5));
	 }
}
